using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Genuilder;

namespace PropertiesExtractor.TestProject
{
	class Program : INotifyPropertyChanged
	{
		static void Main(string[] args)
		{

		}


		public int Sample
		{
			get;
			set;
		}

		#region INotifyPropertyChanged Members

		public event PropertyChangedEventHandler PropertyChanged;

		#endregion
	}


	[ExtractProperties]
	public class Pet : INotifyPropertyChanged
	{
		public Pet()
		{
			var t = PetProperties.Age;
		}

		public int Age
		{
			get;
			set;
		}

		public int MyProperty3
		{
			get;
			set;
		}
		public int MyProperty2
		{
			get;
			set;
		}
		public int MyProperty
		{
			get;
			set;
		}
		public String Name
		{
			get;
			set;
		}

		public String Owner
		{
			get;
			set;
		}

		private DateTime _BirthDate;
		public DateTime BirthDate
		{
			get
			{
				return _BirthDate;
			}
			set
			{
				if(value != _BirthDate)
				{
					_BirthDate = value;
					if(PropertyChanged != null)
						PropertyChanged(this, new PropertyChangedEventArgs(PetProperties.BirthDate));
				}
			}
		}


		#region INotifyPropertyChanged Members

		public event PropertyChangedEventHandler PropertyChanged;

		#endregion
	}
}
